package com.itany.corejava.code08_常用类.string;

import java.util.Arrays;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年11月09日 16:06
 */
public class Test02_常用方法 {
    public static void main(String[] args) {

        String s=" hello world ";
        System.out.println("字符串长度:"+s.length());
        s=s.trim();//去除首尾空格
        System.out.println("字符串长度:"+s.length());

        String str="welcome";
        int index=str.indexOf("o");//查找指定字符串在字符串中首次出现的索引位置，如果找不到，返回-1
        System.out.println(index);
        System.out.println(str.indexOf("aaa"));//找不到返回-1

        String strs="welcomeomaaom";
        // indexOf(指定字符串,开始位置)查找从指定位置开始从前往后指定字符串第一次出现的索引
        System.out.println(strs.indexOf("om"));//查找om首次出现的位置
        System.out.println(strs.indexOf("om",6));//从索引为6开始，向后查找om首次出现的位置



        String strs2="welcomeomaaom";

        // lastIndexOf(指定字符串)查找指定字符串从后往前查找第一次出现的索引
        System.out.println(strs2.lastIndexOf("om"));

        // lastIndexOf(指定字符串,开始位置)查找从指定位置开始从后向前查找指定字符串第一次出现的索引
        System.out.println(strs2.lastIndexOf("om",5));

        // substring(begin)截取字符串，从指定索引开始截取，一直截取到末尾
        // substring(begin,end)截取字符串，从指定索引begin截取到end，不包含end，左闭右开[begin,end)
        String strs3="welcome";
        System.out.println(strs3.substring(3));
        System.out.println(strs3.substring(3,5));//[3,5)

        // concat拼接字符串
        String s1="i love nanjing";
        String s2="我爱南京";
        System.out.println(s1.concat(s2));
        System.out.println(s1+s2);

        String s3="";
        String s4=null;
        System.out.println(s3.length());
        // System.out.println(s4.length());//报错。java.lang.NullPointerException空指针异常
        // System.out.println(s4.equals("aaa"));//java.lang.NullPointerException

        //isEmpty()判断字符串是否为空，相当于s3.length()==0
        System.out.println(s3.isEmpty());
        // System.out.println(s4.isEmpty());//java.lang.NullPointerException
        System.out.println("---===");
        // charAt(index)获取指定索引位置的字符

        String s5="abcabcd";

        System.out.println(s5.charAt(0));
        System.out.println(s5.charAt(3));

        //startsWith()判断指定字符串是否以指定字符串开头
        System.out.println(s5.startsWith("qabc"));

        // endsWith()判断指定字符串是否以指定字符串结尾
        System.out.println(s5.endsWith("defaa"));

        // contains(string)判断是否包含指定字符串
        String s6="i love nanjing";
        System.out.println(s6.contains("nanjing"));

        String s7="admin";
        String s8="AdMin";
        //equals判断指定字符串是否与s7相等，只比较值，不比较地址
        System.out.println(s7.equals(s8));

        // equalsIgnoreCase()判断指定字符串是否与另一个字符串相等，只比较值，不比较地址，忽略大小写、
        System.out.println(s7.equalsIgnoreCase(s8));

        //toUpperCase转换成大写
        String s9="Alice";
        System.out.println(s9.toUpperCase());

        //toLowerCase转换成小写
        String s10="Alice";
        System.out.println(s10.toLowerCase());


        // replace(String old,String new)将指定的旧的字符串替换成新的字符串，将替换成功的字符串进行返回
        String s11="aabbccddaauu";
        String res=s11.replace("aa","xx");
        System.out.println(res);

        // split(String s)以s进行分割，分割成一个字符串数组
        String s12="aabbccddee";
        String[] arr=s12.split("");//当以空字符串进行分割的时候，会一个一个字符进行分割
        System.out.println(Arrays.toString(arr));

        s12="aabbcc dd ee";
        String[] arrs=s12.split(" ");//以空格分割
        System.out.println(Arrays.toString(arrs));
        for(String a:arrs){
            System.out.println(a.length());
        }
    }
}
